const CryptoJS = require('crypto-js');


// 数据部分
var data = [{
    "showTrueCount": false,
    "auctionNumId": "818729817867",
    "pageNo": 1,
    "pageSize": 20,
    "rateType": "",
    "searchImpr": "-8",
    "orderType": "",
    "expression": "",
    "rateSrc": "pc_rate_list"
}];

// 模拟 window 对象中的 token 和 appKey（根据实际环境修改）
var _m_h5_tk = "aef13699bb7fc524423858c64f14e9d0_1748338464526"; // 替换为你实际的 token 值
var appKey = "12574478";

// MD5 加密函数（使用 crypto-js 库）
function hex_md5(value) {
    return CryptoJS.MD5(value).toString();
}

// 生成 sign
function generateSign(token, data, appKey) {
    var t = new Date().getTime(); // 获取当前时间戳（毫秒）
    var dataStr = JSON.stringify(data); // 将 data 转为字符串
    var stringToSign = token + "&" + t + "&" + appKey + "&" + dataStr;
    var sign = hex_md5(stringToSign); // 使用 MD5 加密
    return {
        sign: sign,
        t: t,
        dataStr: dataStr
    };
}

// 执行并输出结果
var result = generateSign(_m_h5_tk, data[0], appKey);
console.log("Sign:", result.sign);
console.log("时间戳 t:", result.t);
console.log("Data 字符串:", result.dataStr);
